package com.example.demo.utils;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.example.demo.model.ExcelDataDo;

import java.util.ArrayList;

public class ExcelListener extends AnalysisEventListener<ExcelDataDo> {
    // 存储读取的数据（可自定义存储方式，如直接入库）
    private ArrayList<ExcelDataDo> dataList = new ArrayList<>();

    // 逐行读取时调用（默认从第2行开始，跳过表头）
    @Override
    public void invoke(ExcelDataDo data, AnalysisContext context) {
        dataList.add(data); // 收集数据
    }

    // 所有数据读取完成后调用
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        // 处理最终数据（如打印、保存到数据库等）
        System.out.println("共读取 " + dataList.size() + " 条数据");
    }

    // 可选：获取数据列表（适用于小文件）
    public ArrayList<ExcelDataDo> getDataList() {
        return dataList;
    }
}